package com.ywy.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sun.org.apache.xpath.internal.operations.Bool;
import com.ywy.entity.Post;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ywy.vo.PostVo;

/**
 * <p>
 * 博客文章 服务类
 * </p>
 *
 * @author ywy
 * @since 2021-12-24
 */
public interface PostService extends IService<Post> {
    /**
     * 分页查询博客文章信息
     * @param page
     * @param categoryId
     * @param userId
     * @param level
     * @param recommend
     * @param order
     * @return
     */
    IPage listByPage(Page page, Integer categoryId, Integer userId, Integer level, Boolean recommend, String order);

    /**
     * 根据id查询博客文章详细信息
     * @param id
     * @return
     */
    PostVo getDetail(Integer id);

    /**
     * 初始化本周热议
     */
    void initWeekRank();

    /**
     * 更新本周热议
     * 修改今天的文章评论数量和重新合并最近7天的评论数量
     * @param postId
     * @param isIncr
     */
    void updateWeekRank(Integer postId, boolean isIncr);

    /**
     * 修改文章阅读量
     * @param post
     */
    void updateViewCount(PostVo post);
}
